/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package session.stateless;

import entity.AccessRole;
import javax.ejb.Remote;
import exception.ExistException;
import entity.Employee;
import java.util.Date;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Chun
 */
@Remote
public interface EmployeeSessionBeanRemote {
    
    Employee getEmployee(String userId);
    ArrayList <Employee> getEmployees ();
    ArrayList <Employee> getEmployees (String department);
    ArrayList <Employee> getEmployees (ArrayList <AccessRole> rlist );
    void addEmployee(String userId, String userPassword, String name, Integer contactOffice, Integer contactMobile, String emailAddress, String department, String accountStatus, Date passwordExpiry, Integer invalidCounter, String  designation, Date dob) throws ExistException ;
    public void tempDeleteEmployee(String userId);
    Integer loginEmployee(String userId, String userPassword);
    void updateLogin (String userId, Integer counter);
    Date updatePassword (String userId, String userPassword);
    void updatePassword (String userId, String userPassword, Date passwordExpiry);
    void updateEmployee (String userId, String name, Integer contactOffice, Integer contactMobile, String emailAddress, String department, String accountStatus, Date passwordExpiry, Integer invalidCounter, String  designation, Date dob);
    void deleteEmployee (String userId);
    ArrayList <String> getRoles (String userId);
    void updateAccessRole (String userId, String role, Boolean addRole);
    List<String> getDesignations();
    String getPassword(String userId);
    
}
